package com.xuecheng.manage_cms.service;

import com.xuecheng.framework.domain.cms.CmsPage;
import com.xuecheng.framework.domain.cms.request.QueryPageResult;
import com.xuecheng.framework.domain.cms.response.CmsPageResult;
import com.xuecheng.framework.model.response.QueryResponseResult;
import com.xuecheng.framework.model.response.ResponseResult;

/**
 * @Author Andrew Yang
 * @ClassName PageService
 * @Description
 * @Package com.xuecheng.manage_cms.service
 * @create 2019-12-26 20:23
 */
public interface PageService {
    /**
     * @Method: findList
     * @Author: Andrew Yang
     * @Date: 2019/12/26 20:25
     * @param page
     * @param size
     * @param queryPageResult
     * @Return com.xuecheng.framework.model.response.QueryResponseResult
     * @Description: 页面列表分页查询
     */
    public QueryResponseResult findList(int page, int size, QueryPageResult queryPageResult);

    /**
     * @Method: findByPageNameAndSiteIdAndPageWebPath
     * @Author: Andrew Yang
     * @Date: 2019/12/26 22:37
     * @param cmsPage
     * @Return com.xuecheng.framework.domain.cms.CmsPageResult
     * @Description: 添加页面
     */
    public CmsPageResult add(CmsPage cmsPage);

    /**
     * @Method: findById
     * @Author: Andrew Yang
     * @Date: 2019/12/31 17:17
     * @param id
     * @Return com.xuecheng.framework.domain.cms.response.CmsPageResult
     * @Description: 根据id查询
     */
    CmsPageResult findById(String id);

    /**
     * @Method: update
     * @Author: Andrew Yang
     * @Date: 2020/1/13 19:48
     * @param id
     * @param cmsPage
     * @Return com.xuecheng.framework.domain.cms.response.CmsPageResult
     * @Description: 更新页面信息
     */
    CmsPageResult update(String id, CmsPage cmsPage);

    /**
     * @Method: edit
     * @Author: Andrew Yang
     * @Date: 2019/12/31 17:23
     * @param id
     * @param cmsPage
     * @Return com.xuecheng.framework.domain.cms.response.CmsPageResult
     * @Description: 更新页面信息
     */
    CmsPageResult edit(String id, CmsPage cmsPage);

    /**
     * @Method: delete
     * @Author: Andrew Yang
     * @Date: 2020/1/15 0:19
     * @param id
     * @Return com.xuecheng.framework.model.response.ResponseResult
     * @Description: 删除页面信息
     */
    ResponseResult delete(String id);

    /**
     * 获取静态html
     * @param pageId
     * @return
     */
    String getPageHtml(String pageId);

    /**
     * 页面发布
     * @param pageId
     * @return
     */
    ResponseResult postPage(String pageId);
}
